package ar.com.binarit.entities

class TipoCalificacion {

	public static String POSITIVA = "POSITIVA"
	public static String NEGATIVA = "NEGATIVA"
	public static String NEUTRA = "NEUTRA"

	String descripcion

	static constraints = {
		descripcion(size:1..50)
	}

	String toString() {
		"${descripcion}"
	}


	public boolean equals(Object o) {
		try {
			TipoCalificacion otro = (TipoCalificacion) o
			return otro.descripcion.equals(descripcion)
		} catch (ClassCastException e) {
			return false
		}
	}

	public int hashCode() {
		return id.hashCode()
	}

	static def positiva() {
		return TipoCalificacion.findByDescripcion(POSITIVA)
	}

	static def negativa() {
		return TipoCalificacion.findByDescripcion(NEGATIVA)
	}

	static def neutra() {
		return TipoCalificacion.findByDescripcion(NEUTRA)
	}
	
	static def obtenerTipoCalificacion(descripcion){
		if (descripcion.equals(positiva())){
			return positiva()
		}
		if (descripcion.equals(negativa())){
			return negativa()
		}
		if (descripcion.equals(neutra())){
			return neutra()
		}
	}
}
